package com.yunxi.model.sto;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 车辆发运单
 * </p>
 *
 * @author caoYong
 * @since 2019-05-29
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("pms_sto_transport_order")
@ApiModel(value="StoTransportOrder对象", description="车辆发运单")
public class StoTransportOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "TRANSPORT_ORDER_ID", type = IdType.UUID)
    private String transportOrderId;

    @ApiModelProperty(value = "发运单编号")
    @TableField("TRANSPORT_ORDER_NO")
    private String transportOrderNo;

    @ApiModelProperty(value = "承运商代码")
    @TableField("CARRIER_CODE")
    private String carrierCode;

    @ApiModelProperty(value = "承运商名称")
    @TableField("CARRIER_NAME")
    private String carrierName;

    @ApiModelProperty(value = "运输方式(VehicleShipping_Method 1空运,2水运,3人工驾送,4自提,5公路,6公铁联运,7水陆联运,8铁路,9板车)")
    @TableField("CARRIAGE_TYPE")
    private Integer carriageType;

    @ApiModelProperty(value = "运达方渠道商代码")
    @TableField("PARTNER_CODE")
    private String partnerCode;

    @ApiModelProperty(value = "渠道商名称")
    @TableField("PARTNER_NAME")
    private String partnerName;

    @ApiModelProperty(value = "发运单状态(VehicleShippingOrder_Status 1未发运,2已发运,3全部接车,4部分接车,99作废 )")
    @TableField("ORDER_STATE")
    private Integer orderState;

    @ApiModelProperty(value = "发运时间")
    @TableField("START_TRANSPORT_TIME")
    private Date startTransportTime;

    @ApiModelProperty(value = "送达时间")
    @TableField("END_TRANSPORT_TIME")
    private Date endTransportTime;

    @ApiModelProperty(value = "接车时间")
    @TableField("VEHICLE_RECEIVE_TIME")
    private Date vehicleReceiveTime;

    @ApiModelProperty(value = "预计板车到达工厂时间")
    @TableField("PLAN_ARRIVED_TIME")
    private Date planArrivedTime;

    @ApiModelProperty(value = "起运城市代码")
    @TableField("START_CITY_CODE")
    private String startCityCode;

    @ApiModelProperty(value = "起运城市名称")
    @TableField("START_CITY_NAME")
    private String startCityName;

    @ApiModelProperty(value = "目的城市代码")
    @TableField("END_CITY_CODE")
    private String endCityCode;

    @ApiModelProperty(value = "目的城市名称")
    @TableField("END_CITY_NAME")
    private String endCityName;

    @ApiModelProperty(value = "发运车牌号")
    @TableField("TRANSPORT_LICENSE")
    private String transportLicense;

    @ApiModelProperty(value = "发运司机姓名")
    @TableField("TRANSPORT_DRIVER_NAME")
    private String transportDriverName;

    @ApiModelProperty(value = "发运司机联系方式")
    @TableField("TRANSPORT_DRIVER_PHONE")
    private String transportDriverPhone;

    @ApiModelProperty(value = "渠道商收车地址")
    @TableField("RECEIVE_ADDRESS")
    private String receiveAddress;

    @ApiModelProperty(value = "渠道商收车人姓名")
    @TableField("RECEIVER_NAME")
    private String receiverName;

    @ApiModelProperty(value = "收车人联系方式")
    @TableField("RECEIVER_PHONE")
    private String receiverPhone;

    @ApiModelProperty(value = "收车人身份证号码")
    @TableField("RECEIVER_ID_NO")
    private String receiverIdNo;

    @ApiModelProperty(value = "发运单打印时间")
    @TableField("PRINT_TIME")
    private Date printTime;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "CREATE_TIME",fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_BY",fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "UPDATE_TIME",fill = FieldFill.UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    @TableField(value = "UPDATE_BY",fill = FieldFill.UPDATE)
    private String updateBy;

    @ApiModelProperty(value = "PMS厂端出库地点")
    @TableField("STOCK_OUT_LOCATION")
    private String stockOutLocation;

    @ApiModelProperty(value = "发运道次")
    @TableField("SHIPPING_ROAD")
    private String shippingRoad;

    @ApiModelProperty(value = "审批结果(0通过,1驳回)")
    @TableField("APPROVE_STATUS")
    private Integer approveStatus;

    @ApiModelProperty(value = "审批意见")
    @TableField("APPROVE_REMARK")
    private String approveRemark;


}
